﻿namespace BPM.Web.Shared.Interceptor;

/// <summary>
/// Blazor客户端HTTP请求拦截器
/// </summary>
public interface TokenInterceptor
{
    /// <summary>
    /// 在HTTP请求发送前
    /// </summary>
    event EventHandler<TokenInterceptorEventArgs> BeforeSend;

    /// <summary>
    /// 在HTTP请求发送前
    /// </summary>
    event HttpClientInterceptorEventHandler BeforeSendAsync;

    /// <summary>
    /// 在收到HTTP请求的响应后（包括它没有成功）。
    /// </summary>
    event EventHandler<TokenInterceptorEventArgs> AfterSend;

    /// <summary>
    /// 在收到HTTP请求的响应后（包括它没有成功）。
    /// </summary>
    event HttpClientInterceptorEventHandler AfterSendAsync;
}
